Low-rank subspace models are powerful tools to analyze high-dimensional data from dynamical systems. Applications include tracking in radar and sonar, face recognition, recommender systems, cloud removal in satellite images, anomaly detection, background subtraction for surveillance video, system monitoring, etc. Principal component analysis (PCA) is a widely used tool to obtain a low-rank subspace from high dimensional data. For a given rank r, PCA finds the r-dimensional linear subspace that minimizes the square error loss between a data vector and its projection onto that subspace. Although PCA is widely used, it is not robust against outliers. With just one grossly corrupted entry, the low-rank subspace estimated from classic PCA can be arbitrarily far from the true subspace. This shortcoming reduces the value of PCA because outliers are often observed in the modern world's massive data. For example, data collected through sensors, cameras, websites, etc. are often very noisy and contain error entries or outliers.
Robust PCA (RPCA) methods have been investigated to provide good practical performance with strong theoretical performance guarantees, but are typically batch algorithms that require loading of all observations into memory before processing. This makes them inefficient and impractical for use in processing very large datasets commonly referred to as “big data” due to the amount of memory required and the slow processing speeds. The robust PCA methods further fail to address the problem of slowly or abruptly changing subspace.